﻿using System;
using System.Collections.Generic;
using System.Collections;
using System.Text;
using CapaDatos;

namespace CapaNegocio
{
    public class Categoria:IBaseDeDatos
    {

        #region atributos
            private int id;
            private String descripcion;
            private int jornal;
          
        #endregion

        #region getters y setters
            public int Id
            {
                get { return id; }
                set { id = value; }
            }

            public String Descripcion
            {
                get { return descripcion; }
                set { descripcion = value; }
            }

            public int Jornal
            {
                get { return jornal; }
                set { jornal = value; }
            }

            public String TextoAMostrar
            {
                get { return this.ToString(); }
            }
        #endregion

        #region clientes
            public Categoria()
            {

                Id = 0;
                descripcion = "";
                jornal = 0;

            }
        #endregion

        #region IBaseDeDatos Members
            public bool guardarseBD()
            {
                throw new NotImplementedException();
            }

            public void buildObject(ArrayList lista)
            {
                this.id = Convert.ToInt32(lista[0].ToString());
                this.descripcion = lista[1].ToString();
                this.jornal = Convert.ToInt32(lista[2].ToString());
            }
        #endregion

        #region metodos estaticos
        public static Categoria buscarCategoria(int pId)
        {
            ArrayList cate = ServidorDatos.buscarCategoria(pId);
            Categoria categoria = null;
            if (cate != null)
            {
                categoria = new Categoria();
                categoria.buildObject((ArrayList)cate[0]);
            }

            return categoria;

        }
        public static List<Categoria> buscarCategorias()
        {
            ArrayList categorias = ServidorDatos.buscarCategorias();
            Categoria categoria;
            List<Categoria> lista = new List<Categoria>();
            foreach (ArrayList cate in categorias)
            {
                categoria = new Categoria();
                categoria.buildObject(cate);
                lista.Add(categoria);
            }
            return lista;

        }
        #endregion

        #region metodos sobreescritos
        public override string ToString()
        {
            return "(" + id.ToString() + ")" + "-" + 
                descripcion+" ($ "+jornal.ToString()+")";
        }
        #endregion

    }
}
